A denial of service attack involves blocking somebody's ability to use some service on a network. Denial-of-Service (DoS) attacks are common across the Internet with many being launched daily at various targets. Many of the attacks involve specially constructed packets or messages designed to either take advantage of flaws in software, or to tie up resources within devices (packet flooding attacks). In some cases, these packet flooding attacks can be directed at devices providing Session Initiation Protocol (SIP) functionality.
SIP is an application level protocol providing multimedia signaling functionality across packet networks. SIP user agents and proxy servers can be used as building blocks to construct IP telephony networks. An example SIP network is depicted in FIG. 1. Typical successful SIP message exchanges between a User Agent Client (UAC) and a proxy server for a call initiation are depicted in FIGS. 2, 3 and 4.
The SIP network architecture can be very flexible, with components distributed throughout IP networks, some trusted (private transport networks), some not (Internet). Once SIP components are connected to a network that cannot be trusted, the system becomes vulnerable to attacks.
A malicious user can send message floods against SIP elements (as defined in IETF RFC 3261) and render them partially or completely unusable to other users on the network. The present invention provides a solution for detecting malicious INVITE message floods against SIP elements.
In general, for an INVITE flood, the malicious user sends many INVITE messages to a SIP element. The SIP element encounters resource exhaustion when it attempts to keep track of the large number of calls. When legitimate users attempt to make a call, the SIP element is unable to process the messages due to a lack of resources (memory, CPU, etc).
The closest prior art solution to the problem is disclosed in an article by B. Reynolds, and D. Ghosal entitled “Secure IP Telephony using Multi-layered Protection”, Proceedings of NDSS '03, February 2003 (hereinafter “Reynolds et al). In Reynolds et al, a method is proposed for detection of SIP INVITE message flooding attacks. For each end user, the balance between INVITE and OK messages is used to determine whether the user is under attack. The method uses cumulative sum based change-point detection to analyze when the difference between INVITE and OK is too large.
This prior art solution provides no mechanisms for protecting the infrastructure of the SIP network and the domain of the service provider. An attacker could send a message flood through a proxy server against a non-existent end user. This could result in denial-of-service for all users served by the proxy server. The method described here provides detection mechanisms for the network infrastructure (core and edge proxy servers, etc).
Secondly, this prior art does not take SIP authentication into account. For many systems, some or all of the users will be forced to authenticate themselves to the proxy server when sending INVITE requests. When authentication is introduced the method proposed in this prior art fails.
Finally, the prior art solution uses the balance of SIP INVITE vs. OK messages. The OK message is only sent once the destination user chooses to answer a call. Each user that does not answer their phone results in an imbalance. This could result in additional false positives.